#ifndef _COMBOBOX_H_
#define _COMBOBOX_H_

#include <view/Controle.h>
#include <view/Fonte.h>
#include <string>


typedef std::map<std::string, void(*)(void)> MapaDeFuncoes;


class ComboBox : public Controle
{

public:

    ComboBox(int cx, int cy, int x, int y);
    ~ComboBox();
    
    void Fonte(std::string strFonte, int tamanho=16, int cor=RGBA(0,0,0,255));
    void Reescrever();

    void CarregarFuncoes(MapaDeFuncoes& mapa);

    bool AoBaixarEsq(EventoBaixarEsq ev);
    bool AoSubirEsq(EventoSubirEsq ev);
    bool AoMoverSobre(EventoMoverSobre ev);

private:

    MapaDeFuncoes m_MapaDeFuncoes;

    bool m_aberto;

    int m_AlturaFechado;

    ::Fonte* m_fonte;

    ::Imagem** m_ImgItems;
    ::Imagem** m_ImgItemsAtivos;
    
};


#endif  // _COMBOBOX_H_
